// 儿童基本资料打印

import React, { useState, useEffect } from 'react';
import { connect } from 'umi';
import ProTable from '@ant-design/pro-table';
import ProDescriptions from '@ant-design/pro-descriptions';
import { FooterToolbar } from '@ant-design/pro-layout';
import { ArrowLeftOutlined } from '@ant-design/icons';
import { Button } from 'antd';
import moment from 'moment';

import HealthCheckupRecordList from '@/components/HealthCheckupRecordList';
import ChartsPer from '@/components/ChartsPer';
import ChartsStand from '@/components/ChartsStand';
import MedicalRecordList from '@/components/MedicalRecordList';
import AssessmentRecord from '@/pages/Patriarch/AssessmentRecord';
import Result from '@/pages/Assessment/EvaluationCourses/components/Result';

import {
  getPhysiquePatientInfo,
  getPhysiqueGraphData,
} from '@/pages/MedicalExamination/HealthCheckup/service';
import {
  getLastVisiting,
  getPatientVisitingDetail,
} from '@/pages/MedicalExamination/DiagnosisPrescription/service';
import {
  getPlanInfo,
  getSpecialAssessMembers,
} from '@/pages/Assessment/CaseAssessmentPlanning/service';

import { getGroupAssessSingle } from '@/pages/Assessment/TeamAssessment/service';
import { queryCommonAllEnums, getSingleEnums } from '@/utils/utils';
import {
  getAllTrainWay,
  getRoughActivityInfo,
  getCarefulActivityInfo,
  getTrainCognitionInfo,
  getLanguageInfo,
  getTrainSelfCareInfo,
  getTrainAdaptationInfo,
  getFeelInfo,
  getTrainEnvInfo,
  getTrainAndTargetInfo,
} from '@/pages/Assessment/TrainingObjectives/service';

import { getClassPlanInfo, getEvaluationAll } from '@/pages/Assessment/EvaluationCourses/service';

import { getSpecialPage, getAllEduRecord } from '@/pages/Rehabilitation/PersonalPlan/service';

const yiChang = {
  1: '无异常',
  2: '疑似异常',
  3: '异常',
};
const haveOrNo = {
  true: '有',
  false: '无',
};
const abilityLevelType = {
  1: '异常',
  2: '疑似异常',
  3: '正常',
};
const trainType = {
  1: '不需要',
  2: '需要追踪咨询',
  3: '需要训练',
};
const yiChangType = {
  true: '异常',
  false: '无异常',
};
const xuYaoType = {
  true: '需要',
  false: '不需要',
};

const P002 = ({ location, dispatch }) => {
  const { patientId } = location.query;
  const idObj = {
    patientId,
  };
  const [baseInfo, setBaseInfo] = useState({});
  const [last, setLast] = useState({});
  const [visitingDetail, setVisitingDetail] = useState([]);
  const [graphData, setGraphData] = useState();
  const [codeName, setCodeName] = useState();
  const [planInfo, setPlanInfo] = useState({});
  const [assessSingle, setAssessSingle] = useState({});
  const [cuDaYunDong, setCuDaYunDong] = useState({});
  const [careFulYunDong, setCareFulYunDong] = useState({});
  const [trainCognitionInfo, setTrainCognitionInfo] = useState({});
  const [languageInfo, setLanguageInfo] = useState({});
  const [trainSelfCareInfo, setTrainSelfCareInfo] = useState({});
  const [trainAdaptationInfo, setTrainAdaptationInfo] = useState({});
  const [fellInfo, setFellInfo] = useState({});
  const [envInfo, setEnvInfo] = useState({});
  const [trainAndTargetInfo, setTrainAndTargetInfo] = useState({});
  const [evaluationAll, setEvaluationAll] = useState([]);

  const [specialList, setSpecialList] = useState([]);
  const [allEduRecord, setAllEduRecord] = useState([]);

  // 查询-曲线图数据
  const queryPhysiqueGraphData = async () => {
    const res = await getPhysiqueGraphData(idObj);
    setGraphData(res);
  };

  const columns = [
    {
      title: '课程名称',
      dataIndex: 'className',
    },
    {
      title: '课程频次',
      dataIndex: 'pinCi',
    },
    {
      title: '课程时间',
      dataIndex: 'classTime',
    },
    {
      title: '所属套餐',
      dataIndex: 'packageName',
    },
    {
      title: '执行人',
      dataIndex: 'executionName',
    },
  ];

  const columnsJAn = [
    {
      title: '训练日期',
      dataIndex: 'time',
      render: (_, record) => {
        let str = '';
        if (record.startTime) {
          str = `${moment(record.startTime).format('YYYY-MM-DD')} 至 ${moment(
            record.endTime,
          ).format('YYYY-MM-DD')}`;
        }
        return str;
      },
    },
    {
      title: '课程',
      dataIndex: 'className',
    },
    {
      title: '课程时间',
      dataIndex: 'onceClassTime',
      render: (_, record) => {
        return `${record.onceClassTime}${record.classTimeName}`;
      },
    },
    {
      title: '执行老师',
      dataIndex: 'executionName',
    },
  ];
  const queryClassPlanInfo = async () => {
    const res = await getClassPlanInfo(idObj);
    if (res) {
      console.log('res', res);
      const arr = [];
      res.classPlanPackageVos?.forEach((item) => {
        item.classPlanPackageDetailVos?.forEach((sub) => {
          sub.pinCi = `1${sub.cycleTypeName}${sub.cycle}次`;
          sub.classTime = sub.onceClassTime + sub.classTimeName;
          arr.push({
            ...sub,
            packageName: item.packageName,
          });
        });
      });
      // 增选课程
      res.classPlanPackageDetailVos?.forEach((sub) => {
        arr.push({
          ...sub,
          pinCi: `1${sub.cycleTypeName}${sub.cycle}次`,
          classTime: sub.onceClassTime + sub.classTimeName,
          // packageName: '增选课程',
        });
      });

      return {
        data: arr,
      };
    }
  };

  const querySpecialPage = async (params) => {
    const res = await getSpecialPage({
      ...params,
      body: {
        ...idObj,
        startTime: null,
        endTime: null,
      },
    });
    if (res) {
      setSpecialList(res.data || []);
    }
  };

  const queryAllEduRecord = async () => {
    if (!patientId) return;
    const res = await getAllEduRecord({ patientId });
    res && setAllEduRecord(res);
  };

  const queryEditInfo = async () => {
    dispatch({
      type: 'patriarchAndChildrenRecord/getInfo',
      payload: idObj,
      callback: async (values) => {
        const sub = await getPhysiquePatientInfo({ code: values.caseCodeV });
        const base = { ...values, ...sub };
        setCodeName(`${base.caseCodeV}-${base.name}`);

        const lastVisiting = await getLastVisiting(idObj);

        // 就诊记录详情列表
        const detail = await getPatientVisitingDetail(idObj);
        // 综合评估 - 个案评估小组 -复评日期
        let plan = await getPlanInfo(idObj);
        if (plan) {
          plan.members = [];
          const assessMembers = await getSpecialAssessMembers();
          assessMembers?.forEach((item) => {
            if (plan.employeeIds?.includes(item.id)) {
              plan.members.push(item.name);
            }
          });
        }

        // 小组评估
        const assess = await getGroupAssessSingle(idObj);

        // 训练与目标-粗大运动
        const cuDaYun = await getRoughActivityInfo(idObj);

        // 训练与目标-精细运动
        const careFulYun = await getCarefulActivityInfo(idObj);

        // 训练与目标-认知能力
        const trainCognition = await getTrainCognitionInfo(idObj);

        // 训练与目标-语言能力
        const lang = await getLanguageInfo(idObj);

        // 训练与目标-生活自理
        const selfCare = await getTrainSelfCareInfo(idObj);

        // 训练与目标-社会适应
        const adaptation = await getTrainAdaptationInfo(idObj);

        // 训练与目标-感官知觉
        const fell = await getFeelInfo(idObj);

        // 训练与目标-环境与辅具
        const env = await getTrainEnvInfo(idObj);

        // 训练与目标-环境与辅具
        const andTarget = await getTrainAndTargetInfo(idObj);

        // 教学课程评量 -所有教学评量信息
        const evaluationAll = await getEvaluationAll(idObj);

        console.log('evaluationAll', evaluationAll);

        setBaseInfo(base);
        setLast(lastVisiting);
        setVisitingDetail(detail);
        setPlanInfo(plan);
        setAssessSingle(assess);
        setCuDaYunDong(cuDaYun);
        setCareFulYunDong(careFulYun);
        setTrainCognitionInfo(trainCognition);
        setLanguageInfo(lang);
        setTrainSelfCareInfo(selfCare);
        setTrainAdaptationInfo(adaptation);
        setFellInfo(fell);
        setEnvInfo(env);
        setTrainAndTargetInfo(andTarget);
        setEvaluationAll(evaluationAll);
      },
    });
  };

  useEffect(() => {
    queryEditInfo();
    queryPhysiqueGraphData();
    querySpecialPage();
    queryAllEduRecord();
  }, []);

  return (
    <div style={{ padding: '20px 20px 65px 20px' }}>
      <div className="print-page print-page-image">
        <ProDescriptions column={3} title="基本资料">
          <ProDescriptions.Item label="病例编号">{baseInfo.caseCodeV}</ProDescriptions.Item>
          <ProDescriptions.Item label="姓名">{baseInfo.name}</ProDescriptions.Item>
          <ProDescriptions.Item label="性别">{baseInfo.genderName}</ProDescriptions.Item>
          <ProDescriptions.Item label="名族">{baseInfo.ethnicName}</ProDescriptions.Item>
          <ProDescriptions.Item label="出生日期">{baseInfo.birthDay}</ProDescriptions.Item>
          <ProDescriptions.Item label="建档日期" valueType="date">
            {baseInfo.createDocumentTime}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="身高">
            {baseInfo.physiqueCheckVo?.height}CM
          </ProDescriptions.Item>
          <ProDescriptions.Item label="体重">
            {baseInfo.physiqueCheckVo?.weight}KG
          </ProDescriptions.Item>
          <ProDescriptions.Item label="头围">
            {baseInfo.physiqueCheckVo?.headCircumference}CM
          </ProDescriptions.Item>
          <ProDescriptions.Item label="体温" span={2}>
            {baseInfo.physiqueCheckVo?.temperatureStateLevel1Name}&nbsp;
            {baseInfo.physiqueCheckVo?.bodyTemperature}度&nbsp;
            {baseInfo.physiqueCheckVo?.temperatureStateLevel2Name}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="邮政编码">{baseInfo.postCode}</ProDescriptions.Item>
          <ProDescriptions.Item label="身份证号码" span={3}>
            {baseInfo.idCardCode}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="户籍所在地" span={3}>
            {baseInfo.provinceName}
            {baseInfo.cityName}
            {baseInfo.regionName}
            {baseInfo.household}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="现居住地址" span={3}>
            {baseInfo.nowProvinceName}
            {baseInfo.nowCityName}
            {baseInfo.nowRegionName}
            {baseInfo.nowPlace}
          </ProDescriptions.Item>
        </ProDescriptions>
        <ProDescriptions column={3} title="家庭成员">
          {baseInfo.familyMemberInfoVos?.map((item) => (
            <>
              <ProDescriptions.Item
                label={item.type === 1 ? '父亲姓名' : item.type === 2 ? '母亲姓名' : '主要照顾者'}
              >
                {item.name}
              </ProDescriptions.Item>
              <ProDescriptions.Item label="联系电话">{item.mobile}</ProDescriptions.Item>
              <ProDescriptions.Item label="文化程度">
                {item.educationDegreeName}
              </ProDescriptions.Item>
              <ProDescriptions.Item label="职业种类" span={3}>
                {item.professionLargeName}&nbsp;
                {item.professionMediumName}
              </ProDescriptions.Item>
            </>
          ))}
        </ProDescriptions>

        <ProDescriptions column={3} title="家庭状况">
          <ProDescriptions.Item label="家庭模式">
            {baseInfo.patientFamilyInfoVo?.familyTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="居住社区">
            {baseInfo.patientFamilyInfoVo?.communityTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="教养方式">
            {baseInfo.patientFamilyInfoVo?.educationTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="语言环境">
            {baseInfo.patientFamilyInfoVo?.languageTypeName}
            {baseInfo.patientFamilyInfoVo?.languageName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="户口类别">
            {baseInfo.patientFamilyInfoVo?.hukouTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="享受医疗保险情况">
            {baseInfo.patientFamilyInfoVo?.medicalInsuranceTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="家庭经济状况" span={3}>
            {baseInfo.patientFamilyInfoVo?.economicTypeName}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3} title="就诊原因">
          <ProDescriptions.Item label="行为异常" span={3}>
            {!baseInfo.isBehaviorUnusual
              ? '否'
              : baseInfo.patientAbnormalVos.map((item) => item.abnormalInfoName).join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="既往医疗康复情况" span={3}>
            {baseInfo.patientPastRecoveryConnectVos
              ?.map((item) => item.pastRecoveryInfoName)
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3} title="成长记录">
          <ProDescriptions.Item label="喂养方式">
            {baseInfo.patientGrowthRecordVo?.supportTypeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="高热抽搐">
            {baseInfo.patientGrowthRecordVo?.isFever ? '是' : '否'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会抬头时间">
            {baseInfo.patientGrowthRecordVo?.canGainGroundTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会翻身时间">
            {baseInfo.patientGrowthRecordVo?.canTurnOverTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会爬行时间">
            {baseInfo.patientGrowthRecordVo?.canClimbTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会笑时间">
            {baseInfo.patientGrowthRecordVo?.canLaughTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会坐时间">
            {baseInfo.patientGrowthRecordVo?.canSitTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会走时间">
            {baseInfo.patientGrowthRecordVo?.canWalkTimeName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="会说话时间">
            {baseInfo.patientGrowthRecordVo?.caTalkTimeName}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={3} title="出生记录">
          <ProDescriptions.Item label="出生地点">
            {baseInfo.patientBirthRecordVo?.birthPlaceTypeName}
            {baseInfo.patientBirthRecordVo?.otherBirthPlace}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="出生孕周">
            {baseInfo.patientBirthRecordVo?.pregnancyWeeks}+
            {baseInfo.patientBirthRecordVo?.pregnancyDaysName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="出生体重（克）">
            {baseInfo.patientBirthRecordVo?.birthWeight}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="胎数">
            {baseInfo.patientBirthRecordVo?.fetusNumName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="听力筛查情况">
            {baseInfo.patientBirthRecordVo?.birthRecordDangerInfoConnectVos
              .filter((item) => item.dangerType === 21)
              .map((item) => item.dangerName)
              .join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="分娩方式">
            {baseInfo.patientBirthRecordVo?.childbirthWayInfoName}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="新生儿疾病筛查情况">
            {baseInfo.patientBirthRecordVo?.birthRecordDangerInfoConnectVos
              .filter((item) => item.dangerType === 20)
              .map((item) => item.dangerName)
              .join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="出生时特殊情况" span={2}>
            {baseInfo.patientBirthRecordVo?.birthRecordDangerInfoConnectVos
              ?.filter((item) => item.dangerType === 19)
              ?.map((item) => item.dangerName)
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3} title="过敏史与生长史">
          <ProDescriptions.Item label="过敏史" span={3}>
            {baseInfo.patientAllergyConnectVos
              ?.map((item) => item.allergyName + ' ' + item.description || '无')
              .join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="家族史" span={3}>
            {baseInfo.patientFamilyDiseaseHistoryVos
              ?.map((item) => item.diseaseHistoryName + ' ' + item.description || '无')
              .join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="病症史" span={3}>
            {baseInfo.patientDiseaseVos
              ?.map((item) => item.diseaseName + ' ' + item.description || '无')
              .join('、')}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="传染病" span={3}>
            {last.familyInfectiousDiseaseVos
              ?.map((item) => item.familyHistoryInfectiousTypeName)
              .join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="疫苗接种" span={3}>
            {last.visitingVaccineVos?.map((item) => item.vaccineName).join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="高危因素" span={3}>
            {last.visitingDangerConnectVos &&
              last.visitingDangerConnectVos[0].visitingDangerVo?.typeName}
            ：{last.visitingDangerConnectVos?.map((item) => item.visitingDangerVo?.name).join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={24} title={`${codeName}-体格检查记录`}>
          <ProDescriptions.Item span={24}>
            <HealthCheckupRecordList patientId={patientId} print={true} />
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <ChartsPer gender={baseInfo?.genderName} graphData={graphData} />
      <ChartsStand gender={baseInfo?.genderName} graphData={graphData} />
      <div className="print-page print-page-image">
        <ProDescriptions column={24} title={`${codeName}-就诊记录`}>
          <ProDescriptions.Item span={24}>
            <MedicalRecordList patientId={patientId} print={true} />
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      {visitingDetail.map((item, index) => (
        <div key={index} className="print-page print-page-image">
          <ProDescriptions
            column={24}
            title={`${
              item.createTime ? moment(item.createTime).format('YYYY-MM-DD') : '暂无就诊时间'
            }    ${codeName}-就诊明细`}
          >
            <ProDescriptions.Item span={24} label="就诊问题">
              {item.visitingProblemVos
                ?.map((item) => (item.name === '其他' ? item.name + '：' + item.other : item.name))
                .join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="主诉">
              {item.visitingMain ||
                item.visitingMainTellVos
                  ?.map(
                    (item) =>
                      `${item.mainTellLevel1Name}
                    -${item.mainTellLevel2Name || '无'}
                    -${item.mainTellLevel3Name || '无'}
                    -${item.customizeInfo || '无'}`,
                  )
                  .join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="现病史">
              {item.visitingHpi ||
                item.visitingHpiVos
                  ?.map(
                    (item) =>
                      `${item.hpiLevel1Name}
                    -${item.hpiLevel2Name || '无'}
                    -${item.hpiLevel3Name || '无'}
                    -${item.customizeInfo || '无'} `,
                  )
                  .join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="既往史">
              {item.visitingPast ||
                item.visitingPastVos
                  ?.map((item, index) =>
                    index === 0 ? item.pastVo.typeName + '：' + item.pastVo.name : item.pastVo.name,
                  )
                  .join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="个人史">
              {item.visitingPersonal ||
                item.visitingPersonalVo?.personalLevel1Name +
                  '-' +
                  item.visitingPersonalVo?.personalLevel2Name}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="查体">
              {item.checkBody || '无'}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="评估工具">
              {item.tools?.join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="诊断内容">
              {item.visitingResult || '无'}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="治疗处方">
              {item.visitingPrescriptionConnectVos
                ?.map((item) => (item.name === '其他' ? item.name + '：' + item.other : item.name))
                .join('、')}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="复查时间">
              {item.visitingPushMessageVo?.data
                ? moment(item.visitingPushMessageVo?.data).format('YYYY-MM-DD')
                : '无'}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="复查地点">
              {item.visitingPushMessageVo?.place || '无'}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={24} label="医生建议">
              <div dangerouslySetInnerHTML={{ __html: item.doctorSuggestion }}></div>
            </ProDescriptions.Item>
          </ProDescriptions>
        </div>
      ))}

      <div className="print-page print-page-image">
        <ProDescriptions column={24} title={`${codeName}-测评记录`}>
          <ProDescriptions.Item span={24}>
            <AssessmentRecord header={false} code={baseInfo.caseCodeV} print={true} />
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={3} title="综合评估">
          <ProDescriptions.Item span={3} label="个案评估小组">
            {planInfo.members?.join('、')}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="是否需要复评">
            {planInfo.isNeedReview ? '需要' : '不需要'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="复评日期">
            {planInfo.reviewTime ? moment(planInfo.reviewTime).format('YYYY-MM-DD') : '无'}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3} title="小组评估">
          <ProDescriptions.Item span={3} label="病因分类"></ProDescriptions.Item>
          {assessSingle.diseaseReasonConnectVos?.map((item) => (
            <ProDescriptions.Item key={item.id} label={item.name}>
              {item.diseaseConfirmType === 1
                ? '确定'
                : item.diseaseConfirmType === 2
                ? '可能'
                : '无'}
              &nbsp;{item.other}
            </ProDescriptions.Item>
          ))}
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="感官异常">
            {haveOrNo[assessSingle.haveSenseDisease]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 2)
              ?.map((item) => {
                if (item.name === '视力障碍') {
                  return `${item.name}:${assessSingle.vision || '无'}`;
                }
                if (item.name === '听力障碍') {
                  return `${item.name}:${assessSingle.hearing || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="遗传、先天症候群">
            {haveOrNo[assessSingle.haveGeneticDisease]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 3)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="认知发展">
            {yiChang[assessSingle.cognitionLevel]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 4)
              ?.map((item) => item.name)
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="语言发展">
            {yiChang[assessSingle.languageLevel]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 5)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="知觉动作发展">
            {yiChang[assessSingle.perceptionLevel]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 6)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="社会情绪发展">
            {yiChang[assessSingle.socialMoodLevel]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 7)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="行为">
            {yiChang[assessSingle.otherActiveLevel]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 8)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={3}>
          <ProDescriptions.Item label="神经相关疾病">
            {haveOrNo[assessSingle.haveNerveDisease]}&nbsp;
            {assessSingle.diseaseConnectVos
              ?.filter((item) => item.type === 1)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、')}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={2} title="训练与目标-粗大运动">
          <ProDescriptions.Item label="粗大动作">
            {abilityLevelType[cuDaYunDong.roughActivityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="粗大动作训练">
            {trainType[cuDaYunDong.roughTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {cuDaYunDong.trainWayVos
              ? cuDaYunDong.trainWayVos[1]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {cuDaYunDong.proposalTarget}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={2} title="训练与目标-精细运动">
          <ProDescriptions.Item label="精细动作">
            {abilityLevelType[careFulYunDong.carefulActivityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="精细动作训练">
            {trainType[careFulYunDong.carefulTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {careFulYunDong.trainWayVos
              ? careFulYunDong.trainWayVos[3]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {careFulYunDong.proposalTarget}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={2} title="训练与目标-认知能力">
          <ProDescriptions.Item label="认知功能">
            {abilityLevelType[trainCognitionInfo.cognitionLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="认知功能训练">
            {trainType[trainCognitionInfo.cognitionTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {trainCognitionInfo.trainWayVos
              ? trainCognitionInfo.trainWayVos[4]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {trainCognitionInfo.proposalTarget || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={2} title="训练与目标-语言能力">
          <ProDescriptions.Item label="口腔动作">
            {abilityLevelType[languageInfo.mouthActivityLevel]}-
            <ProDescriptions.Item span={2}>
              {languageInfo.abilityVos
                ? languageInfo.abilityVos[4]
                    ?.map((item) => {
                      if (item.isOther) {
                        return `${item.name}:${item.other || '无'}`;
                      }
                      return item.name;
                    })
                    .join('、')
                : '无'}
            </ProDescriptions.Item>
          </ProDescriptions.Item>
          <ProDescriptions.Item label="口腔功能训练">
            {trainType[languageInfo.mouthActivityTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[5]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="吞咽反射">
            {yiChangType[languageInfo.isSwallowingReflexAbnormal]}-
            {languageInfo.swallowingReflexAbnormalInfo}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="吞咽功能">
            {abilityLevelType[languageInfo.swallowingAbilityInfo]}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="会呛食">
            {languageInfo.abilityVos
              ? languageInfo.abilityVos[6]?.map((item) => item.name).join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="吞咽训练">
            {trainType[languageInfo.swallowingTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[6]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="食物材质的选择" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[7]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="食器的选择" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[8]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="口语理解">
            {abilityLevelType[languageInfo.spokenComprehensionLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="理解训练">
            {trainType[languageInfo.spokenComprehensionTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[9]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="口语表达">
            {abilityLevelType[languageInfo.spokenAbilityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="表达训练">
            {trainType[languageInfo.spokenAbilityTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[10]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="说话">
            {trainType[languageInfo.talkTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {languageInfo.trainWayVos
              ? languageInfo.trainWayVos[11]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="建议目标" span={2}>
            {languageInfo.proposalTarget || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={2} title="训练与目标-生活自理">
          <ProDescriptions.Item label="饮食">
            {abilityLevelType[trainSelfCareInfo.eatAbilityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="饮食训练">
            {trainType[trainSelfCareInfo.earAbilityTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {trainSelfCareInfo.trainWayVos
              ? trainSelfCareInfo.trainWayVos[12]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="穿脱衣">
            {trainType[trainSelfCareInfo.aboutClothesAbilityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="评估方法与结果" span={2}>
            {trainSelfCareInfo.isObserved && '临床观察'}&nbsp;
            {trainSelfCareInfo.isTalk && '临床晤谈'}
            {trainSelfCareInfo.abilityVos &&
              trainSelfCareInfo.abilityVos[5]
                ?.map((item) => {
                  if (item.isOther) {
                    return `${item.name}:${item.other || '无'}`;
                  }
                  return item.name;
                })
                .join('、')}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="穿衣训练">
            {trainType[trainSelfCareInfo.aboutClothesTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {trainSelfCareInfo.trainWayVos
              ? trainSelfCareInfo.trainWayVos[13]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="盥洗卫生">
            {trainType[trainSelfCareInfo.washAbilityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="评估方法与结果" span={2}>
            {trainSelfCareInfo.isWashObserved && '临床观察'}&nbsp;
            {trainSelfCareInfo.isWashTalk && '临床晤谈'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="盥洗" span={2}>
            {trainSelfCareInfo.abilityVos
              ? trainSelfCareInfo.abilityVos[1]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="如厕" span={2}>
            {trainSelfCareInfo.abilityVos
              ? trainSelfCareInfo.abilityVos[2]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="盥洗训练">
            {trainType[trainSelfCareInfo.washAbilityTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {trainSelfCareInfo.trainWayVos
              ? trainSelfCareInfo.trainWayVos[14]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {trainSelfCareInfo.proposalTarget || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>
        <ProDescriptions column={2} title="训练与目标-社会适应">
          <ProDescriptions.Item label="生活作息及参与">
            {abilityLevelType[trainAdaptationInfo.liftAbilityLevel]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="评估方法" span={2}>
            {trainAdaptationInfo.isObserved && '临床观察'}&nbsp;
            {trainAdaptationInfo.isTalk && '临床晤谈'}
            {trainAdaptationInfo.abilityVos &&
              trainAdaptationInfo.abilityVos[3]
                ?.map((item) => {
                  if (item.isOther) {
                    return `${item.name}:${item.other || '无'}`;
                  }
                  return item.name;
                })
                .join('、')}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="生活作息训练">
            {trainType[trainAdaptationInfo.liftAbilityTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="训练方向" span={2}>
            {trainAdaptationInfo.trainWayVos
              ? trainAdaptationInfo.trainWayVos[15]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {trainAdaptationInfo.proposalTarget || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={2} title="训练与目标-感官知觉">
          <ProDescriptions.Item label="感觉统合">
            {trainType[fellInfo.feelLevel]}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="训练方向" span={2}>
            {fellInfo.trainWayVos
              ? fellInfo.trainWayVos[2]
                  ?.map((item) => {
                    if (item.isOther) {
                      return `${item.name}:${item.other || '无'}`;
                    }
                    return item.name;
                  })
                  .join('、')
              : '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="建议目标" span={2}>
            {fellInfo.proposalTarget || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>

        <ProDescriptions column={2} title="训练与目标-环境与辅具">
          <ProDescriptions.Item label="无障碍环境协商与设计及其他需求">
            {xuYaoType[envInfo.haveOtherDemand]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="具体建议" span={2}>
            {envInfo.proposalTarget || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="辅具需求">
            {trainType[envInfo.assistiveTrainType]}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="上肢副木与辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 1)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="下肢副木与辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 2)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="摆位辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 3)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="移位辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 4)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="沟通辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 5)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="日常生活辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 6)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>

          <ProDescriptions.Item label="视、听觉辅具" span={2}>
            {envInfo.assistiveVos
              ?.filter((item) => item.type === 7)
              ?.map((item) => {
                if (item.isOther) {
                  return `${item.name}:${item.other || '无'}`;
                }
                return item.name;
              })
              .join('、') || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>

      <div className="print-page print-page-image">
        <ProDescriptions column={1} title="训练与目标-评定与分级">
          <ProDescriptions.Item label="言语社交领域CFCS">
            {trainAndTargetInfo.cfCsName || '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="精细动作领域">
            {trainAndTargetInfo.carefulFieldName || '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="粗大运动领域GMFCS">
            {trainAndTargetInfo.gmfcsName || '无'}
          </ProDescriptions.Item>
          <ProDescriptions.Item label="粗大运动领域细分类">
            {trainAndTargetInfo.roughActiveTypeName || '无'}-
            {trainAndTargetInfo.roughActiveDetailLevelName || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>
        <ProDescriptions column={2} title="训练与目标-康复处方">
          <ProDescriptions.Item label="粗大运动领域细分类">
            {trainAndTargetInfo.prescriptionNames?.map((item) => item).join('、') || '无'}
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>

      <div className="print-page print-page-image">
        <ProDescriptions column={1} title="教学课程评量-训练建议">
          <ProDescriptions.Item span={1}>暂时不知如何做</ProDescriptions.Item>
        </ProDescriptions>
      </div>

      <div className="print-page print-page-image">
        <ProDescriptions column={24} title="教学课程评量-评估结果分析表">
          <ProDescriptions.Item span={24}>
            <Result user={baseInfo} readonly print={true} evaluationAll={evaluationAll}/>
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>
      <div className="print-page print-page-image">
        <ProDescriptions column={1} title={`${codeName}-课程详情-康复处方`}>
          <ProDescriptions.Item span={1}>
            <ProTable
              style={{ width: '100%' }}
              rowKey="id"
              search={false}
              request={(params, sorter, filter) => queryClassPlanInfo(params)}
              columns={columns}
              pagination={false}
              toolBarRender={false}
            />
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>

      <div className="print-page print-page-image">
        <ProDescriptions column={1} title={`${codeName}-课程详情-课程表`}>
          <ProDescriptions.Item span={1}>暂时不知如何做</ProDescriptions.Item>
        </ProDescriptions>
      </div>

      <div className="print-page print-page-image">
        <ProDescriptions column={1} title={`${codeName}-教学方案-个训教案`}>
          <ProDescriptions.Item span={1}>
            <ProTable
              style={{ width: '100%' }}
              rowKey="id"
              search={false}
              dataSource={specialList}
              // request={(params, sorter, filter) => querySpecialPage(params)}
              columns={columnsJAn}
              pagination={false}
              toolBarRender={false}
            />
          </ProDescriptions.Item>
        </ProDescriptions>
      </div>

      {specialList.map((item) => (
        <div key={item.id} className="print-page print-page-image">
          <ProDescriptions column={2} title={`${item.className}-教案计划`}>
            <ProDescriptions.Item label="课程名称">{item.className}</ProDescriptions.Item>
            <ProDescriptions.Item label="课程频次">{`1${item.cycleTypeName}${item.cycle}次`}</ProDescriptions.Item>
            <ProDescriptions.Item label="课程时间">
              {item.onceClassTime + item.classTimeName}
            </ProDescriptions.Item>
            <ProDescriptions.Item label="执行人">{item.executionName}</ProDescriptions.Item>
            <ProDescriptions.Item label="训练日期">
              {item.startTime
                ? `${moment(item.startTime).format('YYYY-MM-DD')} 至 ${moment(item.endTime).format(
                    'YYYY-MM-DD',
                  )}`
                : ''}
            </ProDescriptions.Item>
            <br />
            <ProDescriptions.Item span={2} label="现状分析">
              {item.situation}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={2} label="原因推断">
              {item.reason}
            </ProDescriptions.Item>
            <ProDescriptions.Item span={2} label="教学目标">
              暂时不知如何做
            </ProDescriptions.Item>
          </ProDescriptions>
        </div>
      ))}

      {allEduRecord.map((item) => (
        <div key={item.id} className="print-page print-page-image">
          <ProDescriptions column={2} title={`${item.className}-教学记录`}>
            <ProDescriptions.Item label="课程名称">{item.className}</ProDescriptions.Item>
            {/* TODO 后端未返回以下数据暂时不用 */}
            {/* <ProDescriptions.Item label="课程频次">{`1${item.cycleTypeName}${item.cycle}次`}</ProDescriptions.Item>
            <ProDescriptions.Item label="课程时间">
              {item.onceClassTime + item.classTimeName}
            </ProDescriptions.Item>
            <ProDescriptions.Item label="执行人">{item.executionName}</ProDescriptions.Item>
            <ProDescriptions.Item label="训练日期">
              {item.startTime
                ? `${moment(item.startTime).format('YYYY-MM-DD')} 至 ${moment(item.endTime).format(
                    'YYYY-MM-DD',
                  )}`
                : ''}
            </ProDescriptions.Item> */}
            <br />
            {item.specialEduRecordDetailVos?.map((sub, index) => {
              return (
                sub.description && (
                  <ProDescriptions.Item span={2} label={`${index + 1}.教学记录情况`}>
                    {sub.description}
                  </ProDescriptions.Item>
                )
              );
            })}
          </ProDescriptions>
        </div>
      ))}

      <FooterToolbar>
        <Button onClick={() => history.goBack()} icon={<ArrowLeftOutlined />}>
          返回
        </Button>
        <Button type="primary">下载</Button>
      </FooterToolbar>
    </div>
  );
};

export default connect()(P002);
